ifdef MINGDIR
CC = gcc
EXE_SUFFIX = .exe
ALLEGRO = -lalleg
NO_CONSOLE = -Wl,--subsystem=windows
else
EXE_SUFFIX = 
ALLEGRO  = `allegro-config --libs`
NO_CONSOLE =
endif

tins07_SOURCES = Game.cpp GameState.cpp tins07.cpp Timer.cpp Menu.cpp Scene.cpp Object.cpp Script.cpp ScriptData.cpp Compiler.cpp
tins07_OBJECTS = $(patsubst %.cpp,%.o,$(tins07_SOURCES))

mklevel_SOURCES = mklevel.cpp Scene.cpp Object.cpp Script.cpp ScriptData.cpp Compiler.cpp GameState.cpp Menu.cpp Game.cpp
mklevel_OBJECTS = $(patsubst %.cpp,%.o,$(mklevel_SOURCES))

scenes = media/scene01.dat media/scene02.dat media/scene03.dat media/scene04.dat

LDLIBS = $(ALLEGRO) -lstdc++
CXXFLAGS = -g3 -DDEBUG

.PHONY: all levels

all: tins07$(EXE_SUFFIX) mklevel$(EXE_SUFFIX) levels
levels: $(scenes)

tins07$(EXE_SUFFIX): $(tins07_OBJECTS)
	$(CC) -o $@ $(LDFLAGS) $(NO_CONSOLE) $^ $(LDLIBS)

mklevel$(EXE_SUFFIX): $(mklevel_OBJECTS)
	$(CC) -o $@ $(LDFLAGS) $^ $(LDLIBS)

media/%.dat: media/%/* mklevel$(EXE_SUFFIX)
	./mklevel$(EXE_SUFFIX) $(basename $@)

# Poor man's dependency checking
$(tins07_OBJECTS) $(mklevel_OBJECTS): *.h

clean:
	rm *.o tins07$(EXE_SUFFIX) mklevel$(EXE_SUFFIX)
